package com.CST.service.zx;

import com.CST.dto.zx.ProSelDTO;
import com.CST.dto.zx.ProjectDTO;
import com.CST.entity.cb.BdSysUser;
import com.CST.vo.cb.BdSysUserDeptCodeVO;
import com.CST.vo.zx.EntryVo;
import com.CST.vo.zx.ProjectVo;
import com.CST.entity.cb.BdDepartment;
import com.CST.entity.zx.ZX_Project;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

public interface IZX_ProjectInfoService {

    public List<ProjectVo> getProjectVos(ProSelDTO proSelDTO);

    ProjectVo getProjectDetail(String financialCode);

    public List<ZX_Project> getCurrentProInfo();

    List<EntryVo> getProjectType(String type, HttpServletRequest request);

    List<BdDepartment> getRootDept();

    List<BdSysUserDeptCodeVO> getDeptByRootCode(String rootDept);
    ZX_Project getFinancialByCode(String financialCode);
    void addProject(ZX_Project t);

    Integer deleteProject(String financialCode);

    void updateProjectInfo(ProjectDTO projectDTO) throws Exception;

    void downloadFile(ProSelDTO proSelDTO, HttpServletResponse response);

    List<BdSysUser> getLeader(String userName);

    void importProject(MultipartFile file) throws IOException;

    Integer isExistsRelationByFinancialCode(String financialCode);

    void deleteProjectByUser(String userId,String financialCode);

}
